package org.breathe.thread.pool.common.constant;

/**
 * 有关该项目的一些常量
 * @author: breathe
 * @createTime: 2025-04-09
 */
public class BreatheDtpConstant {
    private BreatheDtpConstant(){}

    /**
     * 项目的版本
     */
    public static final String VERSION = "1.0";

    /**
     * 主要的配置前缀
     */
    public static final String MAIN_PROPERTIES_PREFIX = "spring.breathe.dynamic.thread-pool";

    /**
     * 可监控的配置
     */
    public static final String MONITOR_ENABLED_PROP = MAIN_PROPERTIES_PREFIX + ".enabled-collect";

    /**
     * 可ai的配置
     */
    public static final String AI_ENABLED_PROP = MAIN_PROPERTIES_PREFIX + ".enabled-ai";

    /**
     * 动态线程池可获取的配置
     */
    public static final String DTP_ENABLED_PROP = MAIN_PROPERTIES_PREFIX + ".enable";
    /**
     * 动态线程池可打印banner
     */
    public static final String BANNER_ENABLED_PROP = MAIN_PROPERTIES_PREFIX + ".enabled-banner";

    /**
     * 可用的处理器，这是默认的最大线程数
     */
    public static final int AVAILABLE_PROCESSORS = Runtime.getRuntime().availableProcessors();

    /**
     * 配置改变时的一个通用的输出格式
     */
    public static final String PROPERTIES_CHANGE_SHOW_STYLE = "%s => %s";

    /**
     * 配置改变时时间的通用输出格式
     */
    public static final String PROPERTIES_CHANGE_TIME_SHOW_STYLE = "%ss => %ss";
    /**
     * 报警线程池的名字的前缀
     */
    public static final String ALARM_EXECUTOR_PREFIX = "breathe-dynamic-thread-pool-alarm";

    /**
     * parse Json
     */
    public static final String DOT = ".";

    public static final String ARR_LEFT_BRACKET = "[";

    public static final String ARR_RIGHT_BRACKET = "]";
    public static final String UNKNOWN = "---";
}